package com.javasm.springboot3.entity;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * @Author：longjinyi
 * @Version：1.0
 * @Date：2021/12/28-7:16
 * @Since:jdk1.8
 * @Description:
 */

//要读取配置文件application.yml里面的map集合，并且将它赋给当前Student类中的map属性
//要求当前Student类在spring容器中，spring容器会创建Student类的对象
//@ConfigurationProperties注解会从spring容器中找到Student类的对象，并将配置文件application.yml里面的map集合赋给Student类中的map属性
//这里的@ConfigurationProperties注解有点特殊，不需要加括号，即也不需要在括号里面加配置文件里面的map集合名,直接能找到配置文件里面的map集合以及集合里面的k和value
//注意：配置文件里面的map集合的k和value在当前类中是没有，当前类只有map属性
//注意：配置文件里面的map集合名要与当前类的属性stuMap集合名相同，不然无法实现赋值
//@ConfigurationProperties注解依赖于set和get方法进行赋值，所以当前类的@Data注解不能省略

//读取配置文件里面的list集合并赋给当前类的属性personList,与stuMap赋值同理

@Data
@Component
@ConfigurationProperties
public class Person {

    private Map<String, String> stuMap;

    private List<String> personList;
}
